[INFO] cloning repository https://github.com/dontpanic92/urender
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dontpanic92/urender" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdontpanic92%2Furender", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdontpanic92%2Furender'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3fd84ca96b75d322503a56288a111b16c18e562f
[INFO] building dontpanic92/urender against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdontpanic92%2Furender" "/workspace/builds/worker-5/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/dontpanic92/urender on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/dontpanic92/urender
[INFO] finished tweaking git repo https://github.com/dontpanic92/urender
[INFO] tweaked toml for git repo https://github.com/dontpanic92/urender written to /workspace/builds/worker-5/source/Cargo.toml
[INFO] crate git repo https://github.com/dontpanic92/urender already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 43d553ae1600af3b04e89b4c4afd3c097e0ef852ffa4b23efef0c54d701a529f
[INFO] running `Command { std: "docker" "start" "-a" "43d553ae1600af3b04e89b4c4afd3c097e0ef852ffa4b23efef0c54d701a529f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "43d553ae1600af3b04e89b4c4afd3c097e0ef852ffa4b23efef0c54d701a529f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43d553ae1600af3b04e89b4c4afd3c097e0ef852ffa4b23efef0c54d701a529f", kill_on_drop: false }`
[INFO] [stdout] 43d553ae1600af3b04e89b4c4afd3c097e0ef852ffa4b23efef0c54d701a529f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 88f94eb986a3cacbfe4446e47de7c4f6cdd125a9954dec4c4d059d2ff6a64026
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "88f94eb986a3cacbfe4446e47de7c4f6cdd125a9954dec4c4d059d2ff6a64026", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.34
[INFO] [stderr]    Compiling rustc-demangle v0.1.5
[INFO] [stderr]    Compiling encoding_rs v0.7.1
[INFO] [stderr]    Compiling bmp v0.1.4
[INFO] [stderr]    Compiling backtrace-sys v0.1.16
[INFO] [stderr]    Compiling memchr v2.0.1
[INFO] [stderr]    Compiling rand v0.4.1
[INFO] [stderr]    Compiling backtrace v0.3.5
[INFO] [stderr]    Compiling error-chain v0.11.0
[INFO] [stderr]    Compiling quick-xml v0.10.1
[INFO] [stderr]    Compiling minidom v0.7.0
[INFO] [stderr]    Compiling urender v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 |     objects: Vec<Box<GeometricObject>>,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn GeometricObject`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |     lights: Vec<Box<Light>>,
[INFO] [stdout]    |                     ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:19:36
[INFO] [stdout]    |
[INFO] [stdout] 19 |     materials: HashMap<String, Box<Material>>,
[INFO] [stdout]    |                                    ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 |     ambient_light: Box<Light>,
[INFO] [stdout]    |                        ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |     tracer: Box<Tracer>,
[INFO] [stdout]    |                 ^^^^^^ help: use `dyn`: `dyn Tracer`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:44:46
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn add_object(&mut self, object: Box<GeometricObject>) {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn GeometricObject`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:48:44
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn add_light(&mut self, light: Box<Light>) {
[INFO] [stdout]    |                                            ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:74:41
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn ambient_light(&self) -> &Box<Light> {
[INFO] [stdout]    |                                         ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:78:38
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn lights(&self) -> &Vec<Box<Light>> {
[INFO] [stdout]    |                                      ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:86:56
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn material(&self, material_name: &String) -> &Material {
[INFO] [stdout]    |                                                        ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utility/rgb_color.rs:21:56
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn from_hex(hex: &str) -> Result<RGBColor, Box<Error>> {
[INFO] [stdout]    |                                                        ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utility/error.rs:20:32
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn cause(&self) -> Option<&StdError> {
[INFO] [stdout]    |                                ^^^^^^^^ help: use `dyn`: `dyn StdError`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/sphere.rs:19:33
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new_from_dict(dict: &Dictionary) -> Result<Sphere, Box<Error>> {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/sphere.rs:19:67
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new_from_dict(dict: &Dictionary) -> Result<Sphere, Box<Error>> {
[INFO] [stdout]    |                                                                   ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/plane.rs:19:33
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new_from_dict(dict: &Dictionary) -> Result<Plane, Box<Error>> {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/plane.rs:19:66
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new_from_dict(dict: &Dictionary) -> Result<Plane, Box<Error>> {
[INFO] [stdout]    |                                                                  ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/cylinder.rs:21:33
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new_from_dict(dict: &Dictionary) -> Result<Cylinder, Box<Error>> {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/cylinder.rs:21:69
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new_from_dict(dict: &Dictionary) -> Result<Cylinder, Box<Error>> {
[INFO] [stdout]    |                                                                     ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/geometry/cylinder.rs:45:42
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let b = (v - v.dot(va) * va).dot((deltap - deltap.dot(va) * va)) * 2.;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/disk.rs:21:33
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new_from_dict(dict: &Dictionary) -> Result<Disk, Box<Error>> {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/disk.rs:21:65
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new_from_dict(dict: &Dictionary) -> Result<Disk, Box<Error>> {
[INFO] [stdout]    |                                                                 ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/aabox.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new_from_dict(dict: &Dictionary) -> Result<AABox, Box<Error>> {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/aabox.rs:26:66
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new_from_dict(dict: &Dictionary) -> Result<AABox, Box<Error>> {
[INFO] [stdout]    |                                                                  ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/mod.rs:22:52
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result<Box<GeometricObject>, Box<Error>> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/mod.rs:22:78
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result<Box<GeometricObject>, Box<Error>> {
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn GeometricObject`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/mod.rs:22:100
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result<Box<GeometricObject>, Box<Error>> {
[INFO] [stdout]    |                                                                                                    ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/camera/pinhole_camera.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 |     sampler: Box<Sampler>
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Sampler`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/camera/pinhole_camera.rs:23:33
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new_from_dict(dict: &Dictionary) -> Result<PinholeCamera, Box<Error>> {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/camera/pinhole_camera.rs:23:74
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new_from_dict(dict: &Dictionary) -> Result<PinholeCamera, Box<Error>> {
[INFO] [stdout]    |                                                                          ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/camera/pinhole_camera.rs:38:46
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn render(&self, world: &World, tracer: &Tracer) -> Image {
[INFO] [stdout]    |                                              ^^^^^^ help: use `dyn`: `dyn Tracer`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/camera/orthographic_camera.rs:25:46
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn render(&self, world: &World, tracer: &Tracer) -> Image {
[INFO] [stdout]    |                                              ^^^^^^ help: use `dyn`: `dyn Tracer`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/camera/mod.rs:15:46
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn render(&self, world: &World, tracer: &Tracer) -> Image;
[INFO] [stdout]    |                                              ^^^^^^ help: use `dyn`: `dyn Tracer`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/directional_light.rs:15:32
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new_from_dict(map: &Dictionary) -> Result<DirectionalLight, Box<Error>> {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/directional_light.rs:15:76
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new_from_dict(map: &Dictionary) -> Result<DirectionalLight, Box<Error>> {
[INFO] [stdout]    |                                                                            ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/ambient_light.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new_from_dict(map: &Dictionary) -> Result<AmbientLight, Box<Error>> {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/ambient_light.rs:14:72
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new_from_dict(map: &Dictionary) -> Result<AmbientLight, Box<Error>> {
[INFO] [stdout]    |                                                                        ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/light/ambient_occluder.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 |     sampler: Box<Sampler>,
[INFO] [stdout]   |                  ^^^^^^^ help: use `dyn`: `dyn Sampler`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/ambient_occluder.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new_from_dict(map: &Dictionary) -> Result<AmbientOccluder, Box<Error>> {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/ambient_occluder.rs:17:75
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new_from_dict(map: &Dictionary) -> Result<AmbientOccluder, Box<Error>> {
[INFO] [stdout]    |                                                                           ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/point_light.rs:19:32
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new_from_dict(map: &Dictionary) -> Result<PointLight, Box<Error>> {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/point_light.rs:19:70
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new_from_dict(map: &Dictionary) -> Result<PointLight, Box<Error>> {
[INFO] [stdout]    |                                                                      ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/mod.rs:22:46
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn create_light(light_type: &str, dict: &Dictionary) -> Result<Box<Light>, Box<Error>> {
[INFO] [stdout]    |                                              ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/mod.rs:22:72
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn create_light(light_type: &str, dict: &Dictionary) -> Result<Box<Light>, Box<Error>> {
[INFO] [stdout]    |                                                                        ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/mod.rs:22:84
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn create_light(light_type: &str, dict: &Dictionary) -> Result<Box<Light>, Box<Error>> {
[INFO] [stdout]    |                                                                                    ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new_from_dict(map: &Dictionary) -> Result<Matte, Box<Error>> {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:17:65
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new_from_dict(map: &Dictionary) -> Result<Matte, Box<Error>> {
[INFO] [stdout]    |                                                                 ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/phong.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new_from_dict(map: &Dictionary) -> Result<Phong, Box<Error>> {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/phong.rs:17:65
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new_from_dict(map: &Dictionary) -> Result<Phong, Box<Error>> {
[INFO] [stdout]    |                                                                 ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:16:52
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn create_material(material_type: &str, dict: &Dictionary) -> Result<Box<Material>, Box<Error>> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:16:78
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn create_material(material_type: &str, dict: &Dictionary) -> Result<Box<Material>, Box<Error>> {
[INFO] [stdout]    |                                                                              ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:16:93
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn create_material(material_type: &str, dict: &Dictionary) -> Result<Box<Material>, Box<Error>> {
[INFO] [stdout]    |                                                                                             ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/utility/error.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |         fmt::Display::fmt(self.description(), f)
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/utility/error.rs:36:32
[INFO] [stdout]    |
[INFO] [stdout] 36 |         fmt::Display::fmt(self.description(), f)
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/utility/error.rs:43:57
[INFO] [stdout]    |
[INFO] [stdout] 43 |             &URenderError::GenericError(ref err) => err.description()
[INFO] [stdout]    |                                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `tracer`
[INFO] [stdout]   --> src/world/world.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     tracer: Box<Tracer>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/world/world.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn new() -> World {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_object`
[INFO] [stdout]   --> src/world/world.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn add_object(&mut self, object: Box<GeometricObject>) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_light`
[INFO] [stdout]   --> src/world/world.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn add_light(&mut self, light: Box<Light>) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `RED`
[INFO] [stdout]    --> src/utility/rgb_color.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub const RED: RGBColor = RGBColor { r: 1., g: 0., b: 0. };
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `GREEN`
[INFO] [stdout]    --> src/utility/rgb_color.rs:118:1
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub const GREEN: RGBColor = RGBColor { r: 0., g: 1., b: 0. };
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `BLUE`
[INFO] [stdout]    --> src/utility/rgb_color.rs:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub const BLUE: RGBColor = RGBColor { r: 0., g: 0., b: 1. };
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `GRAY`
[INFO] [stdout]    --> src/utility/rgb_color.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub const GRAY: RGBColor = RGBColor { r: 0.5, g: 0.5, b: 0.5 };
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `WHITE`
[INFO] [stdout]    --> src/utility/rgb_color.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub const WHITE: RGBColor = RGBColor { r: 1., g: 1., b: 1. };
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `GenericError`
[INFO] [stdout]   --> src/utility/error.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     GenericError(GenericError),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `gamma`
[INFO] [stdout]  --> src/camera/view_plane.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     gamma: f64,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `inv_gamma`
[INFO] [stdout]  --> src/camera/view_plane.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     inv_gamma: f64
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/camera/view_plane.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new() -> ViewPlane {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_hres`
[INFO] [stdout]   --> src/camera/view_plane.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn set_hres(&mut self, hres: u32) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_vres`
[INFO] [stdout]   --> src/camera/view_plane.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn set_vres(&mut self, vres: u32) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_pixel_size`
[INFO] [stdout]   --> src/camera/view_plane.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn set_pixel_size(&mut self, pixel_size: f64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_gamma`
[INFO] [stdout]   --> src/camera/view_plane.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn set_gamma(&mut self, gamma: f64) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `gamma`
[INFO] [stdout]   --> src/camera/view_plane.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn gamma(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `inv_gamma`
[INFO] [stdout]   --> src/camera/view_plane.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn inv_gamma(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/camera/orthographic_camera.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new() -> OrthographicCamera
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `view_plane`
[INFO] [stdout]   --> src/camera/orthographic_camera.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn view_plane(&self) -> &ViewPlane {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/sampler/random_sampler.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(sample_num: i32) -> RandomSampler {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/sampler/regular_sampler.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(row: i32, col: i32) -> RegularSampler {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/sampler/jittered_sampler.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(row: i32, col: i32) -> JitteredSampler {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/sampler/nrooks_sampler.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(sample_num: i32) -> NRooksSampler {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 79 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 5.09s
[INFO] running `Command { std: "docker" "inspect" "88f94eb986a3cacbfe4446e47de7c4f6cdd125a9954dec4c4d059d2ff6a64026", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "88f94eb986a3cacbfe4446e47de7c4f6cdd125a9954dec4c4d059d2ff6a64026", kill_on_drop: false }`
[INFO] [stdout] 88f94eb986a3cacbfe4446e47de7c4f6cdd125a9954dec4c4d059d2ff6a64026
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4807eda1650111f7f13a6236fed6deec46ac84fabc2597122c877f05279381a8
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "4807eda1650111f7f13a6236fed6deec46ac84fabc2597122c877f05279381a8", kill_on_drop: false }`
[INFO] [stderr]    Compiling urender v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]  --> src/utility/test.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |       let v = Vector3D(1, 2, 3);
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]   | 
[INFO] [stdout]  ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | / pub struct Vector3D {
[INFO] [stdout] 6 | |     x: f64,
[INFO] [stdout] 7 | |     y: f64,
[INFO] [stdout] 8 | |     z: f64
[INFO] [stdout] 9 | | }
[INFO] [stdout]   | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]  --> src/utility/test.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 |       let v2 = Vector3D(0, 0, 0);
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]   | 
[INFO] [stdout]  ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | / pub struct Vector3D {
[INFO] [stdout] 6 | |     x: f64,
[INFO] [stdout] 7 | |     y: f64,
[INFO] [stdout] 8 | |     z: f64
[INFO] [stdout] 9 | | }
[INFO] [stdout]   | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]  --> src/utility/test.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 |       assert_eq!(v * 3, Vector3D(3, 6, 9));
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]   | 
[INFO] [stdout]  ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | / pub struct Vector3D {
[INFO] [stdout] 6 | |     x: f64,
[INFO] [stdout] 7 | |     y: f64,
[INFO] [stdout] 8 | |     z: f64
[INFO] [stdout] 9 | | }
[INFO] [stdout]   | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]  --> src/utility/test.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 |       assert_eq!(v * 0, Vector3D(0, 0, 0));
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]   | 
[INFO] [stdout]  ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | / pub struct Vector3D {
[INFO] [stdout] 6 | |     x: f64,
[INFO] [stdout] 7 | |     y: f64,
[INFO] [stdout] 8 | |     z: f64
[INFO] [stdout] 9 | | }
[INFO] [stdout]   | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]  --> src/utility/test.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 |       assert_eq!(3 * v2, Vector3D(0, 0, 0));
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]   | 
[INFO] [stdout]  ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | / pub struct Vector3D {
[INFO] [stdout] 6 | |     x: f64,
[INFO] [stdout] 7 | |     y: f64,
[INFO] [stdout] 8 | |     z: f64
[INFO] [stdout] 9 | | }
[INFO] [stdout]   | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]   --> src/utility/test.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 |       assert_eq!(Vector3D(1, 2, 3).dot(Vector3D(4, 5, 6)), 32.);
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | / pub struct Vector3D {
[INFO] [stdout] 6  | |     x: f64,
[INFO] [stdout] 7  | |     y: f64,
[INFO] [stdout] 8  | |     z: f64
[INFO] [stdout] 9  | | }
[INFO] [stdout]    | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]   --> src/utility/test.rs:14:38
[INFO] [stdout]    |
[INFO] [stdout] 14 |       assert_eq!(Vector3D(1, 2, 3).dot(Vector3D(4, 5, 6)), 32.);
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | / pub struct Vector3D {
[INFO] [stdout] 6  | |     x: f64,
[INFO] [stdout] 7  | |     y: f64,
[INFO] [stdout] 8  | |     z: f64
[INFO] [stdout] 9  | | }
[INFO] [stdout]    | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]   --> src/utility/test.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 |       assert_eq!(Vector3D(0, 0, 0).dot(Vector3D(4, 5, 6)), 0.);  
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | / pub struct Vector3D {
[INFO] [stdout] 6  | |     x: f64,
[INFO] [stdout] 7  | |     y: f64,
[INFO] [stdout] 8  | |     z: f64
[INFO] [stdout] 9  | | }
[INFO] [stdout]    | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]   --> src/utility/test.rs:15:38
[INFO] [stdout]    |
[INFO] [stdout] 15 |       assert_eq!(Vector3D(0, 0, 0).dot(Vector3D(4, 5, 6)), 0.);  
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | / pub struct Vector3D {
[INFO] [stdout] 6  | |     x: f64,
[INFO] [stdout] 7  | |     y: f64,
[INFO] [stdout] 8  | |     z: f64
[INFO] [stdout] 9  | | }
[INFO] [stdout]    | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]   --> src/utility/test.rs:20:16
[INFO] [stdout]    |
[INFO] [stdout] 20 |       assert_eq!(Vector3D(1, 2, 3).cross(Vector3D(4, 5, 6)), Vector3D(-3, 6, -3));
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | / pub struct Vector3D {
[INFO] [stdout] 6  | |     x: f64,
[INFO] [stdout] 7  | |     y: f64,
[INFO] [stdout] 8  | |     z: f64
[INFO] [stdout] 9  | | }
[INFO] [stdout]    | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]   --> src/utility/test.rs:20:40
[INFO] [stdout]    |
[INFO] [stdout] 20 |       assert_eq!(Vector3D(1, 2, 3).cross(Vector3D(4, 5, 6)), Vector3D(-3, 6, -3));
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | / pub struct Vector3D {
[INFO] [stdout] 6  | |     x: f64,
[INFO] [stdout] 7  | |     y: f64,
[INFO] [stdout] 8  | |     z: f64
[INFO] [stdout] 9  | | }
[INFO] [stdout]    | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]   --> src/utility/test.rs:20:60
[INFO] [stdout]    |
[INFO] [stdout] 20 |       assert_eq!(Vector3D(1, 2, 3).cross(Vector3D(4, 5, 6)), Vector3D(-3, 6, -3));
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | / pub struct Vector3D {
[INFO] [stdout] 6  | |     x: f64,
[INFO] [stdout] 7  | |     y: f64,
[INFO] [stdout] 8  | |     z: f64
[INFO] [stdout] 9  | | }
[INFO] [stdout]    | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]   --> src/utility/test.rs:21:16
[INFO] [stdout]    |
[INFO] [stdout] 21 |       assert_eq!(Vector3D(0, 0, 0).cross(Vector3D(4, 5, 6)), Vector3D(0, 0, 0));  
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | / pub struct Vector3D {
[INFO] [stdout] 6  | |     x: f64,
[INFO] [stdout] 7  | |     y: f64,
[INFO] [stdout] 8  | |     z: f64
[INFO] [stdout] 9  | | }
[INFO] [stdout]    | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]   --> src/utility/test.rs:21:40
[INFO] [stdout]    |
[INFO] [stdout] 21 |       assert_eq!(Vector3D(0, 0, 0).cross(Vector3D(4, 5, 6)), Vector3D(0, 0, 0));  
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | / pub struct Vector3D {
[INFO] [stdout] 6  | |     x: f64,
[INFO] [stdout] 7  | |     y: f64,
[INFO] [stdout] 8  | |     z: f64
[INFO] [stdout] 9  | | }
[INFO] [stdout]    | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]   --> src/utility/test.rs:21:60
[INFO] [stdout]    |
[INFO] [stdout] 21 |       assert_eq!(Vector3D(0, 0, 0).cross(Vector3D(4, 5, 6)), Vector3D(0, 0, 0));  
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | / pub struct Vector3D {
[INFO] [stdout] 6  | |     x: f64,
[INFO] [stdout] 7  | |     y: f64,
[INFO] [stdout] 8  | |     z: f64
[INFO] [stdout] 9  | | }
[INFO] [stdout]    | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Point3D` in this scope
[INFO] [stdout]   --> src/utility/test.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 |     assert_eq!(Point3D(1, 2, 3) + Vector3D(4, 5, 6), Point3D(5, 7, 9));
[INFO] [stdout]    |                ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]   --> src/utility/test.rs:26:35
[INFO] [stdout]    |
[INFO] [stdout] 26 |       assert_eq!(Point3D(1, 2, 3) + Vector3D(4, 5, 6), Point3D(5, 7, 9));
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | / pub struct Vector3D {
[INFO] [stdout] 6  | |     x: f64,
[INFO] [stdout] 7  | |     y: f64,
[INFO] [stdout] 8  | |     z: f64
[INFO] [stdout] 9  | | }
[INFO] [stdout]    | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Point3D` in this scope
[INFO] [stdout]   --> src/utility/test.rs:26:54
[INFO] [stdout]    |
[INFO] [stdout] 26 |     assert_eq!(Point3D(1, 2, 3) + Vector3D(4, 5, 6), Point3D(5, 7, 9));
[INFO] [stdout]    |                                                      ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Point3D` in this scope
[INFO] [stdout]   --> src/utility/test.rs:31:16
[INFO] [stdout]    |
[INFO] [stdout] 31 |     assert_eq!(Point3D(1, 2, 3) - Point3D(4, 5, 6), Vector3D(-3, -3, -3));
[INFO] [stdout]    |                ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Point3D` in this scope
[INFO] [stdout]   --> src/utility/test.rs:31:35
[INFO] [stdout]    |
[INFO] [stdout] 31 |     assert_eq!(Point3D(1, 2, 3) - Point3D(4, 5, 6), Vector3D(-3, -3, -3));
[INFO] [stdout]    |                                   ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, tuple struct or tuple variant, found struct `Vector3D`
[INFO] [stdout]   --> src/utility/test.rs:31:53
[INFO] [stdout]    |
[INFO] [stdout] 31 |       assert_eq!(Point3D(1, 2, 3) - Point3D(4, 5, 6), Vector3D(-3, -3, -3));
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Vector3D { x: val, y: val, z: val }`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/utility/vector3d.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | / pub struct Vector3D {
[INFO] [stdout] 6  | |     x: f64,
[INFO] [stdout] 7  | |     y: f64,
[INFO] [stdout] 8  | |     z: f64
[INFO] [stdout] 9  | | }
[INFO] [stdout]    | |_- `Vector3D` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 |     objects: Vec<Box<GeometricObject>>,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn GeometricObject`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |     lights: Vec<Box<Light>>,
[INFO] [stdout]    |                     ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:19:36
[INFO] [stdout]    |
[INFO] [stdout] 19 |     materials: HashMap<String, Box<Material>>,
[INFO] [stdout]    |                                    ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 |     ambient_light: Box<Light>,
[INFO] [stdout]    |                        ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |     tracer: Box<Tracer>,
[INFO] [stdout]    |                 ^^^^^^ help: use `dyn`: `dyn Tracer`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:44:46
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn add_object(&mut self, object: Box<GeometricObject>) {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn GeometricObject`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:48:44
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn add_light(&mut self, light: Box<Light>) {
[INFO] [stdout]    |                                            ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:74:41
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn ambient_light(&self) -> &Box<Light> {
[INFO] [stdout]    |                                         ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:78:38
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn lights(&self) -> &Vec<Box<Light>> {
[INFO] [stdout]    |                                      ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/world/world.rs:86:56
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn material(&self, material_name: &String) -> &Material {
[INFO] [stdout]    |                                                        ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utility/rgb_color.rs:21:56
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn from_hex(hex: &str) -> Result<RGBColor, Box<Error>> {
[INFO] [stdout]    |                                                        ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utility/error.rs:20:32
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn cause(&self) -> Option<&StdError> {
[INFO] [stdout]    |                                ^^^^^^^^ help: use `dyn`: `dyn StdError`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/sphere.rs:19:33
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new_from_dict(dict: &Dictionary) -> Result<Sphere, Box<Error>> {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/sphere.rs:19:67
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new_from_dict(dict: &Dictionary) -> Result<Sphere, Box<Error>> {
[INFO] [stdout]    |                                                                   ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/plane.rs:19:33
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new_from_dict(dict: &Dictionary) -> Result<Plane, Box<Error>> {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/plane.rs:19:66
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new_from_dict(dict: &Dictionary) -> Result<Plane, Box<Error>> {
[INFO] [stdout]    |                                                                  ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/cylinder.rs:21:33
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new_from_dict(dict: &Dictionary) -> Result<Cylinder, Box<Error>> {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/cylinder.rs:21:69
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new_from_dict(dict: &Dictionary) -> Result<Cylinder, Box<Error>> {
[INFO] [stdout]    |                                                                     ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/geometry/cylinder.rs:45:42
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let b = (v - v.dot(va) * va).dot((deltap - deltap.dot(va) * va)) * 2.;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/disk.rs:21:33
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new_from_dict(dict: &Dictionary) -> Result<Disk, Box<Error>> {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/disk.rs:21:65
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn new_from_dict(dict: &Dictionary) -> Result<Disk, Box<Error>> {
[INFO] [stdout]    |                                                                 ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/aabox.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new_from_dict(dict: &Dictionary) -> Result<AABox, Box<Error>> {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/aabox.rs:26:66
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new_from_dict(dict: &Dictionary) -> Result<AABox, Box<Error>> {
[INFO] [stdout]    |                                                                  ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/mod.rs:22:52
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result<Box<GeometricObject>, Box<Error>> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/mod.rs:22:78
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result<Box<GeometricObject>, Box<Error>> {
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn GeometricObject`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/geometry/mod.rs:22:100
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn create_geometry(geometry_type: &str, dict: &Dictionary) -> Result<Box<GeometricObject>, Box<Error>> {
[INFO] [stdout]    |                                                                                                    ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/camera/pinhole_camera.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 |     sampler: Box<Sampler>
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Sampler`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/camera/pinhole_camera.rs:23:33
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new_from_dict(dict: &Dictionary) -> Result<PinholeCamera, Box<Error>> {
[INFO] [stdout]    |                                 ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/camera/pinhole_camera.rs:23:74
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new_from_dict(dict: &Dictionary) -> Result<PinholeCamera, Box<Error>> {
[INFO] [stdout]    |                                                                          ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/camera/pinhole_camera.rs:38:46
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn render(&self, world: &World, tracer: &Tracer) -> Image {
[INFO] [stdout]    |                                              ^^^^^^ help: use `dyn`: `dyn Tracer`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/camera/orthographic_camera.rs:25:46
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn render(&self, world: &World, tracer: &Tracer) -> Image {
[INFO] [stdout]    |                                              ^^^^^^ help: use `dyn`: `dyn Tracer`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/camera/mod.rs:15:46
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn render(&self, world: &World, tracer: &Tracer) -> Image;
[INFO] [stdout]    |                                              ^^^^^^ help: use `dyn`: `dyn Tracer`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/directional_light.rs:15:32
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new_from_dict(map: &Dictionary) -> Result<DirectionalLight, Box<Error>> {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/directional_light.rs:15:76
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new_from_dict(map: &Dictionary) -> Result<DirectionalLight, Box<Error>> {
[INFO] [stdout]    |                                                                            ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/ambient_light.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new_from_dict(map: &Dictionary) -> Result<AmbientLight, Box<Error>> {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/ambient_light.rs:14:72
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new_from_dict(map: &Dictionary) -> Result<AmbientLight, Box<Error>> {
[INFO] [stdout]    |                                                                        ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/light/ambient_occluder.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 |     sampler: Box<Sampler>,
[INFO] [stdout]   |                  ^^^^^^^ help: use `dyn`: `dyn Sampler`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]   = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/ambient_occluder.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new_from_dict(map: &Dictionary) -> Result<AmbientOccluder, Box<Error>> {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/ambient_occluder.rs:17:75
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new_from_dict(map: &Dictionary) -> Result<AmbientOccluder, Box<Error>> {
[INFO] [stdout]    |                                                                           ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/point_light.rs:19:32
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new_from_dict(map: &Dictionary) -> Result<PointLight, Box<Error>> {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/point_light.rs:19:70
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new_from_dict(map: &Dictionary) -> Result<PointLight, Box<Error>> {
[INFO] [stdout]    |                                                                      ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/mod.rs:22:46
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn create_light(light_type: &str, dict: &Dictionary) -> Result<Box<Light>, Box<Error>> {
[INFO] [stdout]    |                                              ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/mod.rs:22:72
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn create_light(light_type: &str, dict: &Dictionary) -> Result<Box<Light>, Box<Error>> {
[INFO] [stdout]    |                                                                        ^^^^^ help: use `dyn`: `dyn Light`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/light/mod.rs:22:84
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn create_light(light_type: &str, dict: &Dictionary) -> Result<Box<Light>, Box<Error>> {
[INFO] [stdout]    |                                                                                    ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new_from_dict(map: &Dictionary) -> Result<Matte, Box<Error>> {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/matte.rs:17:65
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new_from_dict(map: &Dictionary) -> Result<Matte, Box<Error>> {
[INFO] [stdout]    |                                                                 ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/phong.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new_from_dict(map: &Dictionary) -> Result<Phong, Box<Error>> {
[INFO] [stdout]    |                                ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/phong.rs:17:65
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new_from_dict(map: &Dictionary) -> Result<Phong, Box<Error>> {
[INFO] [stdout]    |                                                                 ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:16:52
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn create_material(material_type: &str, dict: &Dictionary) -> Result<Box<Material>, Box<Error>> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^ help: use `dyn`: `dyn Dictionary`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:16:78
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn create_material(material_type: &str, dict: &Dictionary) -> Result<Box<Material>, Box<Error>> {
[INFO] [stdout]    |                                                                              ^^^^^^^^ help: use `dyn`: `dyn Material`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/material/mod.rs:16:93
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn create_material(material_type: &str, dict: &Dictionary) -> Result<Box<Material>, Box<Error>> {
[INFO] [stdout]    |                                                                                             ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/utility/error.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |         fmt::Display::fmt(self.description(), f)
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/utility/error.rs:36:32
[INFO] [stdout]    |
[INFO] [stdout] 36 |         fmt::Display::fmt(self.description(), f)
[INFO] [stdout]    |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/utility/error.rs:43:57
[INFO] [stdout]    |
[INFO] [stdout] 43 |             &URenderError::GenericError(ref err) => err.description()
[INFO] [stdout]    |                                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 21 previous errors; 54 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0423, E0425.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0423`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `urender`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "4807eda1650111f7f13a6236fed6deec46ac84fabc2597122c877f05279381a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4807eda1650111f7f13a6236fed6deec46ac84fabc2597122c877f05279381a8", kill_on_drop: false }`
[INFO] [stdout] 4807eda1650111f7f13a6236fed6deec46ac84fabc2597122c877f05279381a8
